package com.yuxi.Dao;

import java.util.List;

import org.apache.catalina.User;
import org.springframework.stereotype.Repository;

import com.yuxi.Entity.Information;
import com.yuxi.Entity.UserInfo;
import com.yuxi.Request.InformationQuery;
import com.yuxi.Request.OwnQuery;
import com.yuxi.Request.Page;
import com.yuxi.excelEntity.Analysis;
import com.yuxi.excelEntity.ExportRsRj;
import com.yuxi.excelEntity.OwnWordInfo;
import com.yuxi.excelEntity.OwnWordRecord;
import com.yuxi.excelEntity.RealtimeTasks;
import com.yuxi.excelEntity.TaskReseachWord;
import com.yuxi.excelEntity.Tasks;
import com.yuxi.excelEntity.UserCustom;

/**
 * excel操作Dao
 */
@Repository
public interface IExcelDao {
	/**
	 * 导出分析研判信息集合实例
	 * @param idArray
	 * @return
	 */
	public List<Analysis> outExcelForAnalysis(int[] idArray);
	/**
	 * 导出即时任务信息集合实例
	 * @param idArray
	 * @return
	 */
	public List<RealtimeTasks> outExcelForRealtimeTasks(int[] idArray);
	/**
	 * 导出任务派遣信息集合实例
	 * @param idArray
	 * @return
	 */
	public List<Tasks> outExcelForTasks(int[] idArray);	
	
	/**
	 * 民警个人导出表
	 * @param arrayStr
	 * @return
	 */
	public List<OwnWordInfo> outWordForInformationByIdArray(String start,String end,int userId,String portQueryStr);
	

	/**
	 * 民警个人情况查询信息
	 * @param query
	 * @param userId
	 * @return
	 */
	public List<Information> getInforList(InformationQuery query,Integer userId);
	
	/**
	 *导出日搜日解
	 * 
	 * */
	public List<ExportRsRj> getRsRjList(String startTime,String endTime,int userId);	
	/**
	 * 
	 * 导出分析研判会议记录表
	 * */
	public List<TaskReseachWord> getTaskReseach(Integer[] array);
	
	/**
	 * 用户自定义导出信息表
	 * @param array
	 * @return
	 */
	public List<UserCustom> getInforList(Integer[] array);
	
	/**
	 * 获取待查阅的记录
	 * @param query
	 * @param p
	 * @param u
	 * @return
	 */
	public Page<OwnWordRecord> getRecord(OwnQuery query,Page<OwnWordRecord> p,UserInfo u);
	
	/**
	 * 获取已查阅的民警导出记录
	 * @param query
	 * @param p
	 * @param u
	 * @return
	 */
	public Page<OwnWordRecord> getAlreadyRecord(OwnQuery query,Page<OwnWordRecord> p,UserInfo u);
	
	public void deleteOwnById(Integer id);
}
